package org.seeplnframework.skyeye.logback.api.listener;

import org.slf4j.TtlMDCAdapter;
import org.springframework.context.ApplicationContextInitializer;
import org.springframework.context.ConfigurableApplicationContext;

public class TtlMDCAdapterInitializer implements ApplicationContextInitializer<ConfigurableApplicationContext> {

    @Override
    public void initialize(ConfigurableApplicationContext configurableApplicationContext) {
        /**
         * 这种支持跨线程的mdc跟踪方式注释掉
         * 这种方式原理是自定义MDCAdapter，其中使用alibba的TransmittableThreadLocal支持跨线程mdc传递，然后增加agent参数-javaagent:/path/to/transmittable-thread-local-2.x.x.jar，运行时增强Runnable或Callable的实现
         * 注：此处agent增强方式和志博写的支持跨线程的skywalking插件的增强方式冲突，且插件已上线，所以跨线程支持采用skywalking方式
         */
        // 加载自定义的MDCAdapter
        //TtlMDCAdapter.getInstance();
    }

}

